#!/bin/bash

# 自动启动后端服务器脚本
# 解决端口冲突并启动服务

echo "=== 自动启动后端服务器 ==="
echo "时间: $(date)"

# 1. 终止占用3001端口的进程
echo "正在检查并终止占用3001端口的进程..."
pkill -f 'node.*3001' 2>/dev/null || true
pkill -f 'npm.*start' 2>/dev/null || true

# 等待进程完全停止
sleep 2

# 2. 检查端口是否已释放
if lsof -ti:3001 >/dev/null 2>&1; then
    echo "警告: 3001端口仍被占用，尝试强制终止..."
    lsof -ti:3001 | xargs kill -9 2>/dev/null || true
    sleep 1
fi

# 3. 进入后端目录
echo "进入后端目录..."
cd /Users/andylau/Dropbox/AppDevelopment/CMB250716/backend

# 4. 检查package.json是否存在
if [ ! -f "package.json" ]; then
    echo "错误: 未找到package.json文件"
    exit 1
fi

# 5. 安装依赖（如果需要）
if [ ! -d "node_modules" ]; then
    echo "安装依赖包..."
    npm install
fi

# 6. 启动服务器
echo "启动后端服务器..."
echo "服务器将在3000或3001端口启动"
echo "按Ctrl+C停止服务器"
echo "========================"

# 启动服务器（前台运行）
npm start